/**
 * 腾讯地图API配置
 * @description 用于管理腾讯地图API的密钥和配置信息
 */

// 腾讯地图API配置
export const TENCENT_MAP_CONFIG = {
  // API密钥 - 请替换为您的真实API密钥
  // 获取地址：https://lbs.qq.com/console/mykey.html
  API_KEY: 'N4DBZ-Q2W37-JNHXL-PI6NN-55FH5-2BF74',
  
  // 代理路径配置（通过Taro开发服务器代理）
  PROXY_PATH: '/tencent-map-api',
  
  // API基础URL（通过代理）
  BASE_URL: '/tencent-map-api',
  
  // 地址解析API（通过代理）
  GEOCODER_URL: '/tencent-map-api/geocoder/v1/',
  
  // 逆地址解析API（通过代理）
  REVERSE_GEOCODER_URL: '/tencent-map-api/geocoder/v1/',
  
  // 搜索API（通过代理）
  SEARCH_URL: '/tencent-map-api/place/v1/search',
  
  // 默认坐标（北京天安门）
  DEFAULT_LOCATION: {
    latitude: 39.9042,
    longitude: 116.4074,
    address: '北京市'
  }
}

/**
 * 构建腾讯地图API请求URL
 * @param endpoint API端点
 * @param params 请求参数
 * @returns 完整的API请求URL
 */
export const buildApiUrl = (endpoint: string, params: Record<string, any>): string => {
  const url = new URL(endpoint)
  
  // 添加API密钥
  url.searchParams.append('key', TENCENT_MAP_CONFIG.API_KEY)
  
  // 添加其他参数
  Object.entries(params).forEach(([key, value]) => {
    if (value !== undefined && value !== null && value !== '') {
      url.searchParams.append(key, String(value))
    }
  })
  
  return url.toString()
}

/**
 * 检查API密钥是否已配置
 * @returns 是否已配置API密钥
 */
export const isApiKeyConfigured = (): boolean => {
  return TENCENT_MAP_CONFIG.API_KEY !== 'YOUR_TENCENT_MAP_API_KEY' && 
         TENCENT_MAP_CONFIG.API_KEY.trim() !== ''
}

/**
 * 获取API密钥
 * @returns API密钥
 */
export const getApiKey = (): string => {
  if (!isApiKeyConfigured()) {
    console.warn('腾讯地图API密钥未配置，请前往 https://lbs.qq.com/console/mykey.html 获取密钥')
  }
  return TENCENT_MAP_CONFIG.API_KEY
} 